package com.pur.zsms.systemsetting.datadictionary.dao;

import java.util.List;

import com.pur.zsms.common.exception.GenericException;
import com.pur.zsms.common.support.PageController;
import com.pur.zsms.common.support.PaginationSupport;
import com.pur.zsms.systemsetting.datadictionary.po.Code;
import com.pur.zsms.systemsetting.datadictionary.po.CodeType;
import com.pur.zsms.systemsetting.datadictionary.vo.CodeVo;

public interface IDataDictionaryDao {

	/**
	 * 
	 */
	public PaginationSupport findCodeList(final PageController pageController, CodeVo codevo, String codeTypeId) throws GenericException;

	/**
	 * 根据id查寻代码类型
	 * 
	 * @param codeTypeId
	 * @return
	 */
	public List<CodeType> findById(long codeTypeId) throws GenericException;

	/**
	 * 保存代码类型
	 */
	public void addCodetype(CodeType c) throws GenericException;

	public Code findCodeByCodeId(int codeId, String codeTypeId) throws GenericException;

	/**
	 * 保存代码
	 */
	public void addCode(Code c) throws GenericException;

	/**
	 * 删除代码类型
	 */
	public void deleteCode(String phCodeId) throws GenericException;

	/**
	 * 获取所有编码类型
	 */
	public List<CodeType> findCodeTypeList();

	public String findCodeName(CodeVo codeVo);

	/**
	 * 根据编码类型 编码名称获取编码ID
	 * 
	 * @author liyuxin
	 * @param codeVo
	 * @return codeId
	 */
	public String findCodeId(CodeVo codeVo);

	public List<Code> findCodeIdList(String codeType);

	public List<Code> findMaterTypeName(int materType);

}
